/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package domain.controllers;

import domain.Entity.EntityDireccion;
import domain.Entity.EntityPerfil;
import domain.commands.PerfilComando;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import managers.UsuarioManager;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.view.RedirectView;

/**
 *
 * @author jorge
 */
public class perfilController extends SimpleFormController {
    
    public perfilController() {
        setCommandClass(PerfilComando.class);
  }

    @Override
    protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, org.springframework.validation.BindException errors) throws Exception {
        
        ModelAndView mav = new ModelAndView();
        HttpSession session = request.getSession();
        PerfilComando pc = (PerfilComando) command;
        UsuarioManager um = UsuarioManager.getInstance();
        
        int telefono = 0;
        if(!pc.getTelefono().equals("")){
         telefono = Integer.parseInt(pc.getTelefono());
        }
        
        String fecha = pc.getFechaNac();
        Date fechaNac = null;
        if(!fecha.equals("")){
            
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
            fechaNac = sdf.parse(pc.getFechaNac());
        
        }
        int cp = 0 ;
        if(!pc.getCp().equals("")){
            cp = Integer.parseInt(pc.getCp());
        }
        Integer numero = 0;
        if(!pc.getNumero().equals("")){ 
            numero = Integer.parseInt(pc.getNumero());
        }
        EntityPerfil ep = (EntityPerfil) session.getAttribute("perfil");
        EntityDireccion ed  = (EntityDireccion) session.getAttribute("direccion");
        
        ep.setApellidos(pc.getApellidos());
        ep.setNombre(pc.getNombre());
        ep.setTelefono(telefono);
        ep.setFechaNac(fechaNac);
        
        ed.setCp(cp);
        ed.setLocalidad(pc.getLocalidad());
        ed.setNombre(pc.getNombreCalle());
        ed.setPiso(pc.getPiso());
        ed.setPais(pc.getPais());
        ed.setNumero(numero);
        ed.setProvincia(pc.getProvincia());
        ed.setTipo(pc.getTipo());
        
        um.modificarPerfil(ep, ed);
        
        mav.setView(new RedirectView("obtenerTrabajador.htm"));
        return mav;
        
        
    }
}